package com.wangwenjun.concurrent.chapter26;

/**
 * 在流水线上需要被加工的产品，create作为一个模板方法，提供了加工产品的说明书
 * <p>
 * 抽象类 InstructionBook，代表着组装产品的说明书，其中经过流水线传送带的产品将
 * 通过 create() 方法进行加工，而 firstProcess() 和 secondProcess() 则代表着加工
 * 每个产品的步骤，这就是说明书的作用。
 *
 * @author Jesse
 */
public abstract class InstructionBook {

    public final void create() {
        this.firstProcess();
        this.secondProcess();
    }

    /**
     * 第一步
     */
    protected abstract void firstProcess();

    /**
     * 第二步
     */
    protected abstract void secondProcess();


}
